package net.hn.hnms.biz.mine.domain;

import javax.persistence.*;
import java.math.BigDecimal;
import java.sql.Date;
import java.util.Objects;

/**
 * Author: PanSX
 * Date: 2022/8/5 14:37
 */
@Entity
@Table(name = "dim_drivage_face", schema = "public", catalog = "huaneng-smart-mine")
public class DimDrivageFace {
    private String drivageFaceId;
    private String mineCode;
    private String drivageTunnelCode;
    private BigDecimal drivageFaceLength;
    private String drivageFaceSlope;
    private String drivageFaceDirection;
    private BigDecimal drivageFaceAmount;
    private Date drivageFaceStartDate;
    private Date drivageFaceEndDate;
    private String drivageFaceCode;
    private String drivageFaceName;
    private String createUserId;
    private Date createTime;
    private String updateUserId;
    private Date updateTime;
    private String delFlag;

    @Id
    @Column(name = "drivage_face_id")
    public String getDrivageFaceId() {
        return drivageFaceId;
    }

    public void setDrivageFaceId(String drivageFaceId) {
        this.drivageFaceId = drivageFaceId;
    }

    @Basic
    @Column(name = "mine_code")
    public String getMineCode() {
        return mineCode;
    }

    public void setMineCode(String mineCode) {
        this.mineCode = mineCode;
    }

    @Basic
    @Column(name = "drivage_tunnel_code")
    public String getDrivageTunnelCode() {
        return drivageTunnelCode;
    }

    public void setDrivageTunnelCode(String drivageTunnelCode) {
        this.drivageTunnelCode = drivageTunnelCode;
    }

    @Basic
    @Column(name = "drivage_face_length")
    public BigDecimal getDrivageFaceLength() {
        return drivageFaceLength;
    }

    public void setDrivageFaceLength(BigDecimal drivageFaceLength) {
        this.drivageFaceLength = drivageFaceLength;
    }

    @Basic
    @Column(name = "drivage_face_slope")
    public String getDrivageFaceSlope() {
        return drivageFaceSlope;
    }

    public void setDrivageFaceSlope(String drivageFaceSlope) {
        this.drivageFaceSlope = drivageFaceSlope;
    }

    @Basic
    @Column(name = "drivage_face_direction")
    public String getDrivageFaceDirection() {
        return drivageFaceDirection;
    }

    public void setDrivageFaceDirection(String drivageFaceDirection) {
        this.drivageFaceDirection = drivageFaceDirection;
    }

    @Basic
    @Column(name = "drivage_face_amount")
    public BigDecimal getDrivageFaceAmount() {
        return drivageFaceAmount;
    }

    public void setDrivageFaceAmount(BigDecimal drivageFaceAmount) {
        this.drivageFaceAmount = drivageFaceAmount;
    }

    @Basic
    @Column(name = "drivage_face_start_date")
    public Date getDrivageFaceStartDate() {
        return drivageFaceStartDate;
    }

    public void setDrivageFaceStartDate(Date drivageFaceStartDate) {
        this.drivageFaceStartDate = drivageFaceStartDate;
    }

    @Basic
    @Column(name = "drivage_face_end_date")
    public Date getDrivageFaceEndDate() {
        return drivageFaceEndDate;
    }

    public void setDrivageFaceEndDate(Date drivageFaceEndDate) {
        this.drivageFaceEndDate = drivageFaceEndDate;
    }

    @Basic
    @Column(name = "drivage_face_code")
    public String getDrivageFaceCode() {
        return drivageFaceCode;
    }

    public void setDrivageFaceCode(String drivageFaceCode) {
        this.drivageFaceCode = drivageFaceCode;
    }

    @Basic
    @Column(name = "drivage_face_name")
    public String getDrivageFaceName() {
        return drivageFaceName;
    }

    public void setDrivageFaceName(String drivageFaceName) {
        this.drivageFaceName = drivageFaceName;
    }

    @Basic
    @Column(name = "create_user_id")
    public String getCreateUserId() {
        return createUserId;
    }

    public void setCreateUserId(String createUserId) {
        this.createUserId = createUserId;
    }

    @Basic
    @Column(name = "create_time")
    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Basic
    @Column(name = "update_user_id")
    public String getUpdateUserId() {
        return updateUserId;
    }

    public void setUpdateUserId(String updateUserId) {
        this.updateUserId = updateUserId;
    }

    @Basic
    @Column(name = "update_time")
    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Basic
    @Column(name = "del_flag")
    public String getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        DimDrivageFace that = (DimDrivageFace) o;
        return Objects.equals(drivageFaceId, that.drivageFaceId) &&
                Objects.equals(mineCode, that.mineCode) &&
                Objects.equals(drivageTunnelCode, that.drivageTunnelCode) &&
                Objects.equals(drivageFaceLength, that.drivageFaceLength) &&
                Objects.equals(drivageFaceSlope, that.drivageFaceSlope) &&
                Objects.equals(drivageFaceDirection, that.drivageFaceDirection) &&
                Objects.equals(drivageFaceAmount, that.drivageFaceAmount) &&
                Objects.equals(drivageFaceStartDate, that.drivageFaceStartDate) &&
                Objects.equals(drivageFaceEndDate, that.drivageFaceEndDate) &&
                Objects.equals(drivageFaceCode, that.drivageFaceCode) &&
                Objects.equals(drivageFaceName, that.drivageFaceName) &&
                Objects.equals(createUserId, that.createUserId) &&
                Objects.equals(createTime, that.createTime) &&
                Objects.equals(updateUserId, that.updateUserId) &&
                Objects.equals(updateTime, that.updateTime) &&
                Objects.equals(delFlag, that.delFlag);
    }

    @Override
    public int hashCode() {
        return Objects.hash(drivageFaceId, mineCode, drivageTunnelCode, drivageFaceLength, drivageFaceSlope, drivageFaceDirection, drivageFaceAmount, drivageFaceStartDate, drivageFaceEndDate, drivageFaceCode, drivageFaceName, createUserId, createTime, updateUserId, updateTime, delFlag);
    }
}
